項目 | 黑箱測試(Black-box) | 白箱測試(White-box) |
---|---|---|
測試者知識 | 不知道系統內部實作(無原始碼) | 完全了解系統內部結構(有原始碼、架構) |
模擬對象 | 外部攻擊者或一般使用者 | 內部員工或具有系統權限的攻擊者 |
測試範圍 | 測試系統輸入與輸出的正確性與安全性 | 檢查邏輯錯誤、授權缺陷、程式漏洞 |
測試工具 | 自動掃描器(如:Nessus、Nikto)、手動測試 | 原始碼掃描工具(如:SonarQube、Checkmarx) |
可發現漏洞類型 | SQL Injection、XSS、弱密碼、憑證錯誤等 | 邏輯錯誤、授權錯誤、隱藏的後門、加密錯誤等 |
測試速度與難度 | 快速,但無法涵蓋所有情境 | 耗時但深入,需要開發背景 |
優點 | 真實模擬駭客行為,測試最終輸出安全性 | 可深入檢查系統弱點、邏輯問題、覆蓋全面 |
缺點 | 無法測到內部邏輯錯誤,偵測率受限 | 測試時間長、需高權限與原始碼 |
常見應用 | 滲透測試、網站安全檢測 | 安全性原始碼審查、安全開發流程 |
類型 | 特點 |
---|---|
灰箱測試 | 測試者擁有部分系統資訊,例如帳號、API 說明等。兼具黑白箱優點,常見於內部安全稽核或委外測試。 |
🤍考點提示:
白箱測試需具備程式碼與系統邏輯知識。
黑箱測試模擬外部攻擊者行為。
可能會問「哪種測試能發現授權錯誤 / 程式邏輯錯誤」→ 答案通常是白箱。
也可能問「哪種測試者不了解內部架構但能找出網頁漏洞」→ 答案是黑箱。